package com.feitubc.tools.fileimport.service;

import java.util.List;

import com.feitubc.tools.fileimport.StrategyContext;
import com.feitubc.tools.fileimport.domain.FileStrategySetting;

/**
 * 说明：文件上传提供通用服务接口
 * @author zhc
 */	
public interface IBaseUploadFile {

	 /**
     * get FileStrategySetting settings by groupType
     * @param groupType
     * @return
     */
	public List<FileStrategySetting> getFileStrategySettingsByGropyType(String groupType);
	
	/**
     * get FileStrategySetting settings by groupType and strategyServiceType
     * @param groupType
     * @param strategyServiceType
     * @return
     */
	public FileStrategySetting getFileStrategyByTypeKey(String groupType, String strategyServiceType);
	
	/**
     * get FileStrategySetting by fileStrategySetting
     * @param FileStrategySetting fileStrategySetting
     * @return
     */
	public FileStrategySetting getFileStrategy(FileStrategySetting fileStrategySetting);
	
	/**
	 * 根据传入的上下文执行
	 * @param strategyContext
	 * 		不能为空的属性：filename、inputStream、fileStrategySetting
	 * @return
	 */
	public boolean doUpload(StrategyContext strategyContext);
}
